<?php
/**
 * Esta classe implementa o Helper de view
 * da tag span do html 
 *
 * @category    Fencer
 * @package     Fencer_View
 * @subpackage  Fencer_View_Helper
 * @copyright   Copyright (c) 2012 FencerWeb
 * @version     $Id: 
 */
require_once 'Zend/View/Helper/Abstract.php';
class Fencer_View_Helper_FSpan extends Fencer_View_Helper_FencerHtmlElements {
	
	/**
	 * Método inicializador da classe. Deve ser chamado na view
	 * @param array $adicionaConfig
	 * @param array $removeConfig
	 * @return Object $helper
	 */
	public function fSpan( $adicionaConfig = array(), $removeConfig = array()  ) {
		//Cria uma instância da classe
		$span = new Fencer_View_Helper_FSpan();
		
		//adiciona os elementos iniciais configuráveis nesta classe
		$adicionaConfig = $span->_setElementosIniciais($adicionaConfig);
		//Remove as configurações
		$span->setRemoveConfig($removeConfig);
		//Seta as configurações adicionais
		$span->setAdicionaConfig($adicionaConfig);
		
		$atributos = implode(' ', $span->getAtributo());
			
		$retorno = "";
		$retorno = "<span {$atributos} ></span>" . PHP_EOL;
			
		return $retorno;
				
		//Seta a view
// 		$helper = $this->setView ( $this->view );
	
// 		return $helper;
	}
	
	/**
	 * Método que printa o retorno da span na view
	 * @return String $retorno
	 */
// 	public function __toString(){
// 		try{
			
// 			$atributos = implode(' ', $this->getAtributo());
			
// 			$retorno = "";
// 			$retorno = "<span {$atributos} ></span>" . PHP_EOL;
			
// 			return $retorno;
		
// 		}catch ( Zend_Exception $e){
// 			echo $e->getMessage();
// 		}
	
// 	}
	
	/**
	 * Método que inicializa a tag com os elementos iniciais que serão
	 * configurados neste métodos
	 * @param array $adicionaConfig
	 * @return array $adicionaConfig
	 */
	private function _setElementosIniciais($adicionaConfig){
		if(!array_key_exists(Fencer_View_Helper_FencerHtmlElements::F_HTML_ATTR_TITLE, $adicionaConfig)){
			$this->setTitle('Campo Obrigatório');
		}
		
		if(array_key_exists(Fencer_View_Helper_FencerHtmlElements::F_HTML_ATTR_CLASS, $adicionaConfig)){
			$adicionaConfig[Fencer_View_Helper_FencerHtmlElements::F_HTML_ATTR_CLASS][] = 'span-required';
			$adicionaConfig[Fencer_View_Helper_FencerHtmlElements::F_HTML_ATTR_CLASS][] = 'ui-icon';
			$adicionaConfig[Fencer_View_Helper_FencerHtmlElements::F_HTML_ATTR_CLASS][] = 'ui-icon-star';
		}else{
			$adicionaConfig[Fencer_View_Helper_FencerHtmlElements::F_HTML_ATTR_CLASS] = array('span-required','ui-icon','ui-icon-star');
		}
		
		return $adicionaConfig;
	}
	
}